////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2016 Qualcomm Technologies, Inc.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @file  camxpacketresource.cpp
/// @brief PacketResource class implementation
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "camxincs.h"
#include "camxpacketresource.h"

CAMX_NAMESPACE_BEGIN

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// PacketResource::PacketResource
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
PacketResource::PacketResource()
    : m_bufferInfo {0}
    , m_usageFlags {0}
{
    m_offsetInBytes     = 0;
    m_sizeInBytes       = 0;
    m_pUserdata         = NULL;
    m_requestId         = CamxInvalidRequestId;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// PacketResource::Initialize
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
CamxResult PacketResource::Initialize(
    const CSLBufferInfo*    pBufferInfo,
    SIZE_T                  offset,
    SIZE_T                  size)
{
    CamxResult result = CamxResultSuccess;

    if ((NULL == pBufferInfo) || (CSLInvalidHandle == pBufferInfo->hHandle))
    {
        result = CamxResultEInvalidArg;
        CAMX_LOG_ERROR(CamxLogGroupUtils, "Invalid packet initialization args");
    }
    else
    {
        m_bufferInfo    = *pBufferInfo;
        m_offsetInBytes = offset;
        m_sizeInBytes   = size;
        m_pUserdata     = NULL;
        m_requestId     = CamxInvalidRequestId;
    }

    return result;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// PacketResource::~PacketResource
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
PacketResource::~PacketResource()
{
}
CAMX_NAMESPACE_END